#ifndef __MALICE_TRACE_HPP__
#define __MALICE_TRACE_HPP__

#include <vector>
#include <ostream>
#include <MAlice/TraceNode.h>

class Trace
{
private:
	vector<TraceNode*> mNodes;

public:
	static Trace* getTrace();

	Trace();
	virtual ~Trace();

	void push(TraceNode* node);
	void pop();

	void dump(std::ostream& os);
};

#endif /* __MALICE_TRACE_HPP__ */
